import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import Components from 'unplugin-vue-components/vite'
import { VantResolver } from 'unplugin-vue-components/resolvers'
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
import path from 'path'

// vite的相关的配置
// https://vitejs.dev/config/
export default defineConfig({
  // base: '/',  base指定项目服务器的访问前缀
  plugins: [
    vue(),
    // createSvgIconsPlugin 打包svg生成精灵图
    createSvgIconsPlugin({
      // 指定目标svg文件所在的路径
      // nodejs环境提供用来获取  当前项目的绝对路径
      // path.resolve 拼接路径
      iconDirs: [path.resolve(process.cwd(), 'src/icons')]
    }),

    Components({
      dts: false, // 默认true, 引入的时候不需要再声明类型文件，引入vant组件库已经有了
      // VantResolver vant组件库的解析器
      // importStyle:vant的样式已经在全局引入，所以不需要再按需引入样式，只需要引入组件即可
      // 所用通过 importStyle：false,  禁用按需引入样式
      resolvers: [VantResolver({ importStyle: false })]
    }) //配置按需安装的插件
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  }
})
